const express = require('express');
const router = express.Router();
const eventsController = require('../controllers/events.controller');
const { verifyToken, isAdmin } = require('../middleware/auth.middleware');

// 获取活动列表
router.get('/', eventsController.getEvents);

// 获取用户已报名的活动
router.get('/user-events', verifyToken, eventsController.getUserEvents);

// 获取带报名状态的活动列表
router.get(
  '/with-registration',
  verifyToken,
  eventsController.getEventsWithRegistration
);

// 报名活动
router.post('/register', verifyToken, eventsController.registerForEvent);

// 获取活动详情
router.get('/:eventId', verifyToken, eventsController.getEventDetail);

// 创建活动（需要管理员权限）
router.post('/', verifyToken, isAdmin, eventsController.createEvent);

// 删除活动（需要管理员权限）
router.delete('/:eventId', verifyToken, isAdmin, eventsController.deleteEvent);

// 点赞活动
router.post('/:eventId/like', verifyToken, eventsController.likeEvent);

// 取消点赞活动
router.delete('/:eventId/like', verifyToken, eventsController.unlikeEvent);

// 收藏活动
router.post('/:eventId/favorite', verifyToken, eventsController.favoriteEvent);

// 取消收藏活动
router.delete(
  '/:eventId/favorite',
  verifyToken,
  eventsController.unfavoriteEvent
);

module.exports = router;
